1. Field of the Invention
This invention relates to an apparatus for receiving and decoding a digital video broadcast signal. More specifically, this invention relates to a device with a new trellis code modulation decoder structure which demonstrates an improved performance in the presence of NTSC co-channel interference.
2. Description of the Related Art
A Digital Television System (DTS) standard was recently prepared by the Advanced Television Systems Committee (ATSC). The DTS standard outlines various system characteristics of the Advanced Television (ATV) system proposed for use in the U.S., and Annex D in particular specifies the Radio Frequency (RF) transmission subsystem for the DTS standard. The RF transmission subsystem performs amplitude and vestigial sideband modulation (VSB) in two modes: a terrestrial mode (8-level VSB, or simply 8 VSB)) and a high data rate mode (16-level VSB, or simply 16 VSB). Since no trellis code modulation is employed in the 16 VSB mode, the discussion hereafter will focus on the 8 VSB mode.
Turning now to the figures, FIG. 1 shows one embodiment of a ATV transmitter 100. The ATV transmitter comprises a data randomizer 102, a Reed-Solomon encoder 104, an interleaver 106, a trellis encoder 108, a sync word insertion module 110, a pilot insertion module 112, a VSB modulator 114, and a radio-frequency (RF) up-converter 116. The ATV transmitter 100 receives a digital audiovisual signal, e.g. an MPEG bitstream, in the form of 188-byte data packets. The first byte is a synchronization byte, and the remaining 187 bytes are payload data.
Data randomizer 102 drops the synchronization byte and changes each remaining byte value according to a known pattern of pseudo-random number generation in order to eliminate repetitious patterns and provide the data with a completely random noise-like character. Reed-Solomon encoder 104 encodes the 187 randomized bytes to add 20 redundancy bytes to enable future error correction of up to 10 byte errors. Interleaver 106 re-orders the encoded bytes to intermix the byes from different packets and thereby provide resistance to burst errors (since all the bytes for a given packet are no longer located in a short time interval). Trellis encoder 108 provides further encoding and modulation, and is discussed further below. At the trellis encoder output, 328symbols are produced for every 187 input bytes. Sync word insertion module 110 pre-pends a 4-symbol segment synchronization word to each group of 328 symbols to form a 332 symbol data segment, and further inserts a field synchronization segment for every set of 312 data segments to form a 313 segment data field. Pilot insertion module 112 provides a DC offset to all the symbols. The DC offset will appear as a carrier tone in the modulated signal. VSB modulator 114 modulates the symbols from module 112 onto an intermediate frequency (IF) carrier in 8-level amplitude-modulated vestigial-sideband form, and RF up-converter 116 moves the IF signal into the assigned frequency channel, and amplifies and filters the output signal before supplying it to a transmit antenna.
The trellis encoder 108 actually consists of 12 identical trellis encoders 202-224 as shown in FIG. 2. The bytes coming into the trellis encoder 108 are divided into two-bit symbols, and each trellis encoder 202-224 receives every 12th two-bit symbol, i.e. encoder 202 operates on the 0th, 12th, 24th, 36th, . . . two-bit symbols, encoder 204 operates on the 1st, 13th, 25th, 37th, . . . two-bit symbols, and so on. At the output of the encoders 202-224, a three-bit symbol is provided for each two-bit input symbol. During insertion of the segment synchronization byte, the output multiplexer of FIG. 2 is advanced by four symbols, although the state of the encoders is not advanced.
FIG. 3 shows one embodiment of trellis encoder 202. The most-significant bit (MSB) of the two-bit word is "precoded" using delay element 302 and XOR gate 304 to produce mapper input Z.sub.2. The least-significant bit (LSB) is convolutionally encoded using delay elements 306, 308 and XOR gate 310 to produce mapper inputs Z.sub.1, Z.sub.0. The three mapper inputs may be converted to a signal amplitude immediately by a mapper 312, but typically Z.sub.2, Z.sub.1, and Z.sub.0 are simply forwarded as a three bit symbol and converted later by VSB modulator 114.
FIG. 4 shows a second embodiment of trellis encoder 202. In this embodiment, the convolutional encoder formed by delay elements 406, 408 and XOR gate 410, is a moving-window encoder rather than a feedback encoder. The correspondence between input bits and output sequences is somewhat altered, but the overall code properties are the same. Either encoder may be employed.
During the transition period from the National Television Standards Committee (NTSC) standard to the DTS standard, many ATV transmissions will take place in channels which are shared by NTSC transmissions in neighboring broadcast regions. It is desirable to provide a system with increased immunity to co-channel interference from these NTSC transmissions.
FIG. 5 shows one embodiment of an ATV receiver 500 which includes provisions for screening out interfering NTSC transmissions. Receiver 500 comprises tuner 502, IF module 504, NTSC rejection filter 506, equalizer 508, phase tracker 510, trellis decoder 512, de-interleaver 514, Reed-Solomon decoder 516, and de-randomizer 518.
Tuner 502 receives all the signals in a designated frequency band from the receiver antenna, and downmixes a selected channel to IF (at 44 MHz). IF module 504 filters out undesired adjacent channels using a square-root raised-cosine bandpass filter, and locks on to the carrier tone using a narrowband frequency-and-phase locked loop (FPLL). NTSC rejection filter 506 is a "comb" filter with nulls near the standard NTSC luminance, color, and audio carrier frequencies to screen out interference from NTSC transmissions. Filter 506 may be switched in or out of the processing pipeline as needed.
Equalizer 508 is a moving-window adaptive equalizer that operates to remove any linear distortions (e.g. spectrum tilt, multi-path echo) from the received signal and thereby maximize the "eye openings" in the equalized signal. Phase tracker 510 is a wide-band first-order tracking loop that removes any remaining phase noise not tracked by the FPLL carrier recovery loop. The phase tracker 510 operates independently of the preceding modules.
Trellis decoder 512 operates according to the Viterbi algorithm to demodulate the data, in a manner discussed further below. De-interleaver 514 reverses the operation of interleaver 106 to gather the dispersed bytes from Reed-Solomon encoded packets back together, and Reed-Solomon decoder 516 decodes the packets, providing error correction as needed. The de-randomizer then reverses the operation of randomizer 102 to produce the original data packets.
FIG. 6 shows that trellis decoder 512 is actually comprised of 12 identical trellis decoders 602-624. The trellis decoders each process every 12th signal sample and form a two-bit symbol decision for each signal sample. To drop the synchronization bytes, the input multiplexer continues to advance during synchronization intervals, but the processing by the trellis decoders 602-624 is frozen. The two-bit symbol decisions are re-assembled into bytes by the output multiplexer before being forwarded to the de-interleaver 514.
FIG. 7 illustrates the modes of operation of the trellis decoder 602. Trellis decoder 602 implements a 4-state trellis decoder 702 when the NTSC rejection filter is not used. When the NTSC rejection filter is used, an 8-state trellis decoder 704 is implemented. The effect of the comb filter is indicated by the presence of the delay element 706 and sum element 708, which adds additional state dependence to valid received signal sequences. The delay element 706 and summer 708 are shown for explanatory purposes only and are not actually part of the trellis decoder 602. The point made here is that the 8-state trellis decoder must take into account the effect of the comb filter to operate properly. Although the comb filter reduces the NTSC interference, it also modifies the receive signal symbols. The eight-level symbols are converted to fifteen-level symbols by the "partial response" characteristic of the comb filter. This characteristic advantageously does not reduce the eye openings in the equalized data, but does amplify the white noise present in the receive signal. Consequently, a white-noise performance penalty is paid in return for removing the coherent NTSC interference, and to avoid unnecessary impairment, the comb filter is configured to be bypassed when no NTSC interference is present.
FIG. 8 illustrates an embodiment of the 4-state trellis employed by trellis decoder 702. The Viterbi algorithm tracks all the most likely received signal sequence evolutions through multiple trellis stages, and each stage is identical to that shown in FIG. 8. In one embodiment, the trellis decoder employs a Viterbi algorithm with a decoding depth of 18 stages. Each trellis stage consists of all possible code states at a given time t (802) and the transitions 804 to the possible code states at a subsequent time t+1 (806). Each of the possible code states 802 is assigned a value indicative of the probability of the most likely sequence that ends in that state. For each of the transitions 804, the receive signal is compared with an expected signal value to determine a likelihood that that transition was taken from the originating state, and this likelihood is combined with the value from the originating state to determine a potential value for the destination state. The destination state is then assigned a selected potential value from all incoming transitions which is indicative of the highest likelihood. By performing this iterative process and tracking the selected transitions, the Viterbi algorithm provides maximum-likelihood demodulation and decoding of the received signal.
The trellis code states 802, 806 are determined using the binary contents of the delay elements 306 (S.sub.0) and 308 (S.sub.1). The precoding delay element 302 does not provide for additional coding gain, and its inclusion here would require additional states, so it is ignored for the moment--the inverse precoding may be performed after the decisions made by the trellis decoder. The inputs to the trellis encoder are then I.sub.1 and Z.sub.2, and the corresponding expected receive signal value R is a function of the trellis state 802. For each state 802, ordered triplets (I.sub.1,Z.sub.2,R) are provided indicative of the expected values R for each pair of inputs I.sub.1 and Z.sub.2. Each ordered triplet corresponds to a transition from the state 802, and the ordering from left to right is selected to correspond with transitions in top-to-bottom order. It is noted that the four transitions leaving each state 802 exist in parallel pairs.
The embodiment of the decoder trellis in FIG. 8 corresponds to the feedback trellis encoder of FIG. 3. An embodiment of the decoder trellis for the moving window trellis encoder of FIG. 4 is shown in FIG. 9. Here the code states 902, 906 are determined by the binary contents of delay elements 406 (S.sub.0) and 408 (S.sub.1). As indicated by the triplets 908, the correspondence between expected results R and the transitions 904 is the same as that of FIG. 8, but the correspondence with the inputs I.sub.1 and Z.sub.2 is slightly different, and hence the decoded bits for selected transitions which are part of the most likely code sequence are different.
FIG. 10 illustrates an embodiment of the 8-state decoder trellis for trellis decoder 704. Trellis decoder 704 may have a decoding depth of 36 stages. The trellis states 1002, 1006 are determined by the binary contents of delay elements 306 (S.sub.0) and 308 (S.sub.1) and the eight-level contents of delay element 706 (D). Although this would allow for as many as 32 trellis states, the contents of D are not entirely independent of the contents of S.sub.0 and S.sub.1, which eliminates many of the possible states. Further, the remaining states may be combined in pairs to reduce the number of states without reducing the minimum distance properties of the trellis code. The increased number of states (relative to the 4-state trellis) does allow for the precoding of I.sub.2 to be accounted for in this trellis, so the triplets 1008 are now provided in (I.sub.1,I.sub.2,R') form, where R' is the expected value of the receive signal after the comb filter is taken into account.
The brackets in each state label indicate the combined values of delay element 706. The resulting trellis has six transitions 1004 leaving each state 1002 in parallel groups of three. Two transitions from each group share common information bits but have different expected signal values--the bracketed pairs in the ordered triplets 1008 indicate this sharing, but to determine the correspondence between triplets and transitions, these should be read as distinct, adjacent triplets.
The trellis in FIG. 10 is used when the transmitter uses the trellis code modulator of FIG. 3. When the transmitter uses the modulator of FIG. 4, the decoder 704 uses a trellis with the same structure but with a slightly different input bit correspondence, so that the decoded input bits for many of the transitions are different.
It is noted that the Viterbi algorithm assumes that the noise in the receive signal is uncorrelated, and it is further noted that this assumption is violated when the comb filter is employed. As a consequence, the performance (in terms of probability of decision error) of decoder 704 falls short of optimal. It is desirable to provide an ATV receiver which has improved performance in the presence of NTSC co-channel interference.